﻿function MainTable() {
    var source =
    {
        datatype: "json",
        datafields: [
            { name: 'Name', type: 'string' },
            { name: 'Family', type: 'string' },
            { name: 'CountOfCar', type: 'int' },
            { name: 'Login', type: 'string' },
            { name: 'Role', type: 'string' }
        ],
        id: 'Login',
        url: '/data/user'
    };
    var dataAdapter = new $.jqx.dataAdapter(source,
        {
            contentType: 'application/json; charset=UTF-8'
        });
    var userTable = $("#userGrid").jqxGrid(
        {
            width: '100%',
            height: '100%',
            source: dataAdapter,
            sortable: true,
            groupable: true,
            groups: ['Role'],
            theme: theme,
            columns: [
                { text: 'Логин', datafield: 'Login', width: '15%' },
                { text: 'Фамилия', datafield: 'Family', width: '25%' },
                { text: 'Имя', datafield: 'Name', width: '20%' },
                { text: 'Роль в системе', datafield: 'Role', width: '20%' },
                { text: 'Число машин', datafield: 'CountOfCar' }
            ]
        });
    userTable.bind('contextmenu', function () {
        return false;
    });
    return {
        ClearSelection: function () {//функция снятия выделения
            userTable.jqxGrid('clearselection');
        },
        DeleteRow: function (login) {//удаление строки
            userTable.jqxGrid('deleterow', login);
        },
        GetSelectedIndex: function () {//получить выбранную строчку
            return userTable.jqxGrid('getselectedrowindex');
        },
        GetSelectedLogin: function () {//извлечь логин выделенной строчки
            return userTable.jqxGrid('getrowid', userTable.jqxGrid('getselectedrowindex'));
        },
        UserTable: userTable//возвращение таблицы
    };
}